Method for initiating a connection between communication devices of at least two parties

ABSTRACT

A method and system for initiating a connection between at least a first communication device and a second communication device respective of a first party and a second party. According to the present invention initiating a connection includes obtaining a destination subscriber identifier from the first party, wherein the destination subscriber identifier is a string including at least one character different than a numeric character and is respective of the second party. Then, a resolution request that includes data indicative of the destination subscriber identifier is conveyed to a hosting information storage server respective of the destination subscriber identifier, a resolution response including a destination address respective of the second communication device wherein the second party is available is obtained, and then, the present invention includes initiating a connection between the first communication device and the second communication device.

This is a Continuation of Application Ser. No. 12/668,529 filed Jan. 11,2010, which in turn is a National Phase of Application No.PCT/IL2008/000932 filed Jan. 8, 2008. The disclosures of the priorapplications are hereby incorporated by reference herein in theirentirety.

FIELD OF THE INVENTION

This invention relates to initiating a connection.

BACKGROUND OF THE INVENTION

In the past, when dialing from a communication device, only numeralscould have been dialed.

See, for example, RFC 3966 (a Network Working Group's Request ForComments, “The tel URI for Telephone Numbers”, 2004), defining the URI(Uniform Resource Identifier) scheme “tel”, which describes resourcesidentified by telephone numbers. According to the RFC a telephone numberis a string of decimal digits that uniquely indicates the networktermination point. The number contains the information necessary toroute the call to this point. The termination point of the “tel” URItelephone number is not restricted. It can be in the public telephonenetwork, a private telephone network, or the Internet. It can be fixedor wireless and address a fixed wired, mobile, or nomadic terminal. Theterminal addressed can support any electronic communication service(ECS), including voice, data, and fax. The URI can refer to resourcesidentified by a telephone number, including but not limited tooriginators or targets of a telephone call.

Methods and systems have since been developed, allowing conversion ofalphanumeric characters into numeric characters for dialing.

For example, U.S. 2004018852 (“Method and Apparatus for AlphanumericAddress Book Conversions in a Wireless Communication Apparatus”,published 2004) discloses a system and method for allowing a wirelesscommunication device for conveniently converting alphanumeric charactersinto numeric characters for dialing. The device may further include aPersonal Digital Assistant (PDA) as part of the wireless communicationdevice. The unit accepts input from memory that has been highlighted onthe PDA display. Any alphanumeric characters saved in address book phoneentries will be automatically converted to phone numeric equivalentswhen dialed. For example, a stored number of 1-800-2EUDORA is treated as18002383672 when dialed. The unit accepts input from memory into anAlphanumeric to Numeric Converter where the letters and non integers areconverted into numbers to be dialed. The converted number is then passedthrough an undefined character filter where undefined characters areeliminated. The output is then sent to a display where an optionalconfirmation step takes place before the wireless communication devicedials the intended number.

U.S. Pat. No. 7,065,385 (“Apparatus, Methods, and Computer ProgramProducts for Dialing Telephone Numbers Using Alphabetic Selections”,published 2006) describes a method for dialing a telephone number from acommunication device that includes an alphanumeric input device. Thealphanumeric input device allows selection of a plurality of alphabeticcharacters and selection of a plurality of numeric characters Analphabetic character that is selected among the plurality of alphabeticcharacters is sensed. The sensed alphabetic character is translated intoa number. A numeric character, that is selected separately from theselection of the alphabetic character, is sensed. A telephone numberthat includes the translated number and the sensed numeric character isdialed.

Mobile telephones, such as cellular telephones, and sometimes also othertelephones may have an address book (also known as “telephone book” or“phone book”). However, these address books are limited in that theycontain a certain number of telephone numbers, and in order to use themfor dialing a number that is not included therein the user has to enterthe number into the address book beforehand.

In addition, users sometimes store personal information data in PersonalInformation Management (PIM) applications, e.g., in Personal DigitalAssistants (PDAs). U.S. 2006/0015819 (“Integrated handheld computing andtelephony system and services”, published January 2006), for example,discloses an integrated handheld computer and telephony system.Integration of the handheld computer and telephony system is at thephysical and operational level. For example, the integrated handheldcomputer and telephony system physically integrates a handheld computerwith a mobile (e.g., cellular) telephone. In addition, the handheldcomputer is distinct from a telephony system in that they are logicallyseparable. However, they are also operationally integrated. For example,the telephony system executes a telephone application on the processorof the handheld computer. Likewise, the handheld computer can executeapplications, for example, a phone book, that can be used to launch thetelephony application.

In U.S. Pat. No. 5,337,347 (“Method and System for Progressive DatabaseSearch Termination and Dynamic Information Presentation UtilizingTelephone”, published 1994) a method and system are disclosed forsearching a remote database utilizing a telephone device incommunication with a data processing system. The data processing systemhas access to the remote database and the telephone device includestransmitter components for transmitting dual-tone multifrequencysignals, wherein the dual-tone multifrequency signals are generatedmanipulating a keypad associated with the telephone device. The keypadhas individually depressible alpha-numeric keys that may be utilized togenerate a query and to send commands to the data processing system. Themethod of U.S. Pat. No. 5,337,347 includes prompting the user to enter aquery utilizing the depressible alpha-numeric keys on the keypad. As thequery is input from the user, the data processing system searches thedatabase to locate entries within the database corresponding to currentstate of the query. As the user enters additional data to modify thequery, the database is searched for entries corresponding to eachmodification of the query entered by the user. The user might or mightnot be prompted for each modification of the query. These steps ofmodifying the query and performing a search based on the modified queryare repeated until the entries found are less than some predeterminednumber. At any time, an early termination command generated by the usermay be utilized to immediately terminate the steps. In response to thenumber of entries being less than the predetermined number or receivingthe early termination command, the entries may be presented to the uservia the telephone device.

U.S. Pat. No. 6,317,489 (“Entry phone apparatus and method with improvedalphabetical access”, published 2001) discloses an access controlapparatus that has a visual display, a plurality of input keys, and anencoder, all of which are operably connected to a communication device.The communication device includes a memory and an electronic directoryof names and associated codes. The electronic directory may beconfigured as a sequential data structure. An encoder is associated withan alphabetical index and can be set to refer to a particular portion ofthe alphabet. Alternatively a portion of the visual display itself canbe utilized to show the alphabet, using slew switches to allow movementwithin the alphabet. On the visual display, the communication devicedisplays one or more entries from the electronic directory correspondingto the portion of the alphabet selected on the encoder or on thealphabet portion of the display. The apparatus may also include ascrolling device that enables a user to scroll through the electronicdirectory, beginning at the name or names that are displayed on thedisplay.

There are available on-line public commercial directories, such as TheYellow Pages. Such directories store information in a database. U.S.Pat. No. 5,457,738 (“Method and System for Searching an On-lineDirectory at a Telephone Station”, published 1995), for example,discloses a method and system for processing and displaying objects topermit a search of a database by a user of a telephone station. Thetelephone station includes a computer and a display device having adisplay screen adapted to cooperate with a pointing device. The methodof U.S. Pat. No. 5,457,738 includes providing a database and a firstindex list, and displaying an array of objects on the display screen. Italso includes receiving a first set of signals relating to at least oneobject from the displayed array of objects; creating a first searchstring based on the first set of signals; displaying a plurality ofentries of the first index list based on the value of the first searchstring; and receiving a signal relating to one of the displayed entries,the signal identifying an entry selected by the user. The method of U.S.Pat. No. 5,457,738 finally includes the step of displaying at least oneobject representing a phone number associated with the selected entry.

In addition, there are publications teaching how a user can dial otherusers without looking for or storing their numbers beforehand. Forexample, U.S. Pat. No. 6,963,638 (“Method for using alphanumerical signsas a call number”, published 1991) describes a method for usingalphanumeric characters for a call number to establish a phoneconnection and for internal signaling in and between telecommunicationnetworks. U.S. Pat. No. 6,963,638 describes also an alternativeadditional dialing method on an alphanumeric basis by using the completecharacter set of the ASCII character set with its national embodiments(alphanumeric subscriber call number AIR) with any length of the ATRfreely set by the subscriber as an optional alternative that coexistswith the current dialing method with a decimal number system (NTR). TheATR is sent from the terminal to the switching center and usedpreferably to establish a connection or converted to an NTR that is usedto establish the connection with the target subscriber. According toU.S. Pat. No. 6,963,638, the method may be introduced as an overlayprocess for the existing dialing method within existing networks.

Yet, there is a need in the art for a method and system that allows auser dialing other users without storing their numbers beforehand, whiledialing is performed by the user's communication device, and not from adialing server.

SUMMARY OF THE INVENTION

In accordance with an embodiment of the invention, there is provided amethod for initiating a connection between at least a firstcommunication device and a second communication device respective of afirst party and a second party, the method comprising:

obtaining a destination subscriber identifier from the first party,wherein the destination subscriber identifier is a string including atleast one character different than a numeric character and is respectiveof the second party;

directly or indirectly conveying a resolution request to a hostinginformation storage server respective of the destination subscriberidentifier, the resolution request includes data indicative of thedestination subscriber identifier;

obtaining a resolution response including a destination addressrespective of the second communication device wherein the second partyis available; and

initiating a connection between the first communication device and thesecond communication device.

In accordance with an embodiment of the invention, there is furtherprovided a system in a first communication device, for initiating aconnection between at least the first communication device and a secondcommunication device, the first and second communication devices arerespective of a first party and a second party, the system comprising:

a resolving module embedded on a machine-readable memory for obtaining adestination subscriber identifier from the first party, wherein thedestination subscriber identifier is a string including at least onecharacter different than a numeric character and is respective of thesecond party;

a transmitting module embedded on a machine-readable memory for directlyor indirectly conveying a resolution request to a hosting informationstorage server respective of the destination subscriber identifier, theresolution request includes data indicative of the destinationsubscriber identifier; and

a call managing module embedded on a machine-readable memory forobtaining a resolution response including a destination addressrespective of the second communication device wherein the second partyis available and for initiating a connection between the firstcommunication device and the second communication device.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to understand the invention and to see how it may be carriedout in practice, embodiments will now be described, by way ofnon-limiting example only, with reference to the accompanying drawings,in which:

FIG. 1 illustrates a system allowing non-numeral dialing, according toone embodiment of the invention;

FIG. 2 illustrates a system for managing personal information datastored in an information storage server, according to one embodiment ofthe invention;

FIG. 3 is a flowchart illustrating registration of subscriber's personalinformation data in a front end management module, according to oneembodiment of the invention;

FIG. 4 is a flowchart illustrating registration of subscriber's personalinformation data in an information storage server, according to oneembodiment of the invention;

FIG. 5 is a flowchart illustrating registration of subscriber's personalinformation data in an information storage server, according to analternative embodiment of the invention;

FIG. 6 includes graphic illustrations of registration and updatingscreens, according to several embodiments of the invention;

FIG. 7 is a flowchart describing the main procedure of initiating atelephone connection between a first party and a second party, accordingto one embodiment of the invention;

FIG. 8 is a block diagram illustrating the main modules included in acommunication device, according to one embodiment of the invention;

FIG. 9 is a flowchart illustrating active telephone connectioninitialization, according to one embodiment of the invention;

FIG. 10 is a flowchart illustrating passive telephone connectioninitialization, according to one embodiment of the invention;

FIG. 11 is a flowchart illustrating operations taken by a callingentity, according to one embodiment of the invention;

FIG. 12 is a block diagram illustrating a calling entity, according toone embodiment of the invention;

FIG. 13 provides an example of an HTTP request used for resolving asubscriber identifier, according to one embodiment of the invention; and

FIG. 14 provides an example of an HTTP response used while obtaining aresolution response, according to one embodiment of the invention.

DETAILED DESCRIPTION OF EMBODIMENTS

In the following description components that are common to more than onefigure will be referenced by the same reference numerals.

FIG. 1 illustrates a system 101 allowing non-numeral dialing, accordingto one embodiment of the invention. According to the embodiment,communication devices 102, such as mobile telephones or morespecifically cellular telephones, are coupled to an information storageserver 103.

According to the invention, when a user having a communication device102 wants to dial a number, for initiating a telephone connection suchas for placing a telephone call, transmitting a short message (SMS),transmitting a multimedia message (MMS), initiating a facsimiletransmission, etc., instead of dialing the destination's numberexplicitly she can dial a string identifying the destination. The dialedstring is conveyed to the information storage server 103, where it isresolved into a number.

It is noted that the dialed string can include any character and is notlimited to numeric characters (for convenience, numeric characters arereferred to, shortly, as “numerals”). More accurately, according to theinvention the dialed string includes at least one character differentthan a numeric character. In addition, hereinafter the dialing userconstitutes a “caller” or a “first party”, while the dialed number orstring belongs to a “destination” or a “second party”. The communicationdevice 102 where the string is dialed is referred to as a “callingcommunication device”.

Further to resolving the dialed string in the information storage server103 several alternatives exist. According to one embodiment theinformation storage server 103, or a dialing unit 104 coupled thereto,dials the resolved number in order to call the destination. Then theinformation storage server 103 or the dialing unit 104 relays the callto the calling communication device, thus allowing communication betweenthe caller and the destination. Alternatively, the information storageserver 103 conveys the resolved number to the calling communicationdevice, thus allowing it to call the destination.

It is noted that although FIG. 1 illustrates five communication devices102, there is no limitation on the number of the communication devices102 coupled to the information storage server 103. In addition, in thefigure, the dialing unit 104 is illustrated as external to theinformation storage server 103. Yet, this is non-limiting and in otherembodiments the dialing unit 104 can be internal to the informationstorage server 103. Even further, in those embodiments where theinformation storage server 103 conveys the resolved number to thecaller's mobile telephone 102, there may be no dialing unit 104 in thesystem 101. Furthermore, although in the figure all the illustratedcommunication devices are mobile telephones, it should be appreciatedthat this is non-limiting as well, and other communication devices areallowed, such as PDAs, wired-telephones, facsimile machines and others,as long as the communication devices can place a telephone connectionbetween at least two parties. Accordingly, instead of using the term“telephone connection” (e.g., in “initiating a telephone connection”),the more general term “connection” is used (such as “initiating aconnection”).

It is noted that according to the invention the information storageserver 103 can be owned by an “organization” that can be a privateorganization, a public organization or even a person. For example, acompany can have an information storage server 103, where personalinformation data of the company's employees is stored. Another exampleis an information storage server 103 owned by a telephone company,wherein the company can store personal information data of its telephonyservices subscribers. Hereinafter, unless specifically noted, the term“subscriber” refers to a person whose personal information data isstored in an information storage server 103, while according to theinvention the personal information data includes at least one telephonenumber of the subscriber. Yet, personal information data can includeadditional information such as the subscriber's “electronic mail (email)address”, his “web page”, his “home address”, “business telephonenumber”, “home telephone number”, “mobile telephone number”, “homeaddress”, “business address”, “ electronic mail (email) address”,“Instant Messenger address”, etc.

The organization can manage the personal information data stored in theinformation storage server 103, including adding and removing personalinformation data stored therein. For example, upon recruitment of a newemployee a recruiting company can add the new employee's personalinformation data to the information storage server 103 owned thereby.FIG. 2 illustrates a system 201 for managing personal information datastored in an information storage server 103, according to one embodimentof the invention. A front end management module 202, coupled to theinformation storage server 103, is used in order to manage the personalinformation data stored in the information storage server 103. Althoughthere is only one front end management module 202 illustrated in thefigure, it should be appreciated that there may exist zero or any othernumber of front end management modules 202.

In addition to front end management modules 202, it is possible tomanage information stored in the information storage server 103 also viaalternative front end modules such as mobile telephones 203 and otherdevices coupled to the information storage server. Thus, for example, auser whose personal information data is stored in the informationstorage server 103 can convey thereto an alternative or additionaltelephone number to be stored in the information storage server 103. Itis noted though that a telephone 203 used for personal information datamanagement can be used also as a communication device 102 for dialingstrings. However, this is non mandatory and sometimes the telephones 203are not used for strings dialing. In addition, there may existadditional or alternative front end modules, such as Personal DigitalAssistants (PDAs) 204 and/or web browsers 205 and/or others. Therefore,any device coupled to an information storage server and used formanaging personal information data stored therein is considered as afront end management module.

Further to FIGS. 1 and 2, it should be understood that according to theinvention there may exist more than one information storage server 103:Information storage servers 103 can be owned by more than oneorganization, while each organization can own one or more informationstorage servers 103, hence, altogether there may exist more than oneinformation storage server 103 at the same time. A similar situationexists today, e.g., with electronic mail (email) servers, whereindifferent organizations own one or more email servers. Thus, accordingto the invention every information storage server 103 has a respectiveunique identifier, constituting a “server identifier”. The serveridentifier can be a unique value, including a string that includesalphanumeric characters and punctuation marks, such as ‘.’ ‘,’ andothers. According to one embodiment, a server identifier can constitutea “domain name”, resembling what is common today, for example, withInternet and with email servers.

In addition, every subscriber whose respective personal information datais stored in an information storage server 103, has an identifier thatis unique for a particular information storage server 103. This latteridentifier constitutes a “subscriber identifier”, which like the serveridentifier, can also be any unique value including a string thatincludes alphanumeric characters and punctuation marks, such as ‘.’ ‘,’and others. Hence, if a certain information storage server 103, whoseserver identifier is, e.g., “SOMESERVER”, stores information of asubscriber whose subscriber identifier is “ALMONI”, there will be noother subscribers identified as ALMONI whose personal information datais stored in SOMESERVER. Yet, another information storage server 103,whose server identifier is, e.g., “ANOTHERSERVER”, can also storepersonal information data of a subscriber identified as ALMONI, while itshould be appreciated that the subscriber identified as ALMONI onSOMESERVER can be similar or different than the subscriber identified asALMONI on ANOTHERSERVER. Hereinafter, the information storage serverstoring information of a certain subscriber is referred to as a “hostinginformation storage server” respective of this subscriber. In the latterexample, SOMESERVER is the hosting information server of ALMONI.

It is noted though, that according to one embodiment, the subscriberidentifier and the server identifier are always considered as strings,even in those cases when an identifier is composed only of numerals.This is unlike regular telephone numbers, for example, whereinidentifiers correspond to telephone lines (unlike subscribers) andwherein dialing is performed by numbers. According to a differentembodiment, wherein subscriber identifiers are also considered asstrings, the subscriber identifiers must include at least one characterwhich is not numeric, and according to yet another embodiment theidentifiers should not include numerals at all. Even further, similar ordifferent policies can be used for server identifiers and for subscriberidentifiers. For example, server identifiers of one embodiment areallowed to include numerals while subscriber identifiers are not, etc.

Hereinafter, “subscriber resolution” means obtaining subscriberidentification and conveying respective personal information data foundor part thereof. Understanding that there may exist more than oneinformation storage server, and if there is more than one informationstorage server coupled together, it is appreciated that in order toperform subscriber resolution, the subscriber identifier, as well as therespective server identifier, must be determined. According to oneembodiment, if the server identifier is known in advance, it is possibleto obtain only the subscriber identifier. For example, if it is knownthat subscriber resolution should be performed on SOMESERVER, it isenough to obtain subscriber identifier (e.g., “ALMONI”) in order toresolve the subscriber's personal information data. Yet, this isnon-mandatory and other embodiments may require that serveridentification should be always obtained together with subscriberidentifiers.

FIG. 3 is a flowchart illustrating registration of subscriber's personalinformation data in a front end management module 202, according to oneembodiment of the invention. According to the illustrated flowchart,subscriber identifier and server identifier are provided, although it isalready understood that other embodiments are allowed as well.

According to the flowchart, the front end management module 202 obtains(301) a subscriber identification string (subscriber identifier) and aserver identification string (server identifier). The front endmanagement module 202 may obtain the identifiers from any availablesource, such as from a user typing the strings on a computer keyboard oron a telephone keypad. It can read the identification strings from adatabase, it can obtain the strings from a communication line etc. Itshould be appreciated thus that the front end management module 202 canoperate in a manual mode (e.g., when an operator prints the datamanually) or it can operate in an automatic mode (e.g., when readingdata from a database and using the read data in order to update theserver). Upon obtaining the identification strings in 301 the identifiedserver is contacted in 302. Then, on 303 the front end management module202 obtains the subscriber's personal information data and on 304 itconveys this personal information data to the server. As described withreference to 301, on 303 the front end management module 202 can obtainthe personal information from any available source, such as from a usertyping the information on a computer keyboard or on a telephone keypad.It can read the personal information from a database, and it can obtainthe personal information from a communication line etc. It should bethus be appreciated that also with reference to 303 the front endmanagement module 202 can operate in a manual mode (e.g., when anoperator inserts the data manually) or it can operate in an automaticmode (e.g., when reading data from a database and using the read data inorder to update the server). The process repeats itself as long as on305 there are additional subscribers whose personal information datashould be registered.

Hence, it is understood that in those cases when 301 and 304 operate inautomatic modes, the complete registration method can be handledautomatically, without waiting for manual input. The method can thus beused for registering personal information data of a single subscriber,as well as for registering personal information data of manysubscribers, e.g., for “bulk subscription”.

Yet, the flowchart of FIG. 3 is non-limiting and alternatives areallowed. For example, according to one alternative, obtaining 301subscriber identification and server identification strings can occurtogether with obtaining 303 subscriber information data. Alternatively,a server identification string can be obtained in one operation, e.g.,in 301, wherein subscriber identification string and subscriberinformation data is obtained in another operation, e.g., in 303.Sometimes there is no need for an explicit connection to the server(operation 302) in order to allow conveying identification strings andsubscriber information data thereto (304), etc.

FIG. 4 is a flowchart illustrating registration of subscriber's personalinformation data in an information storage server 103, according to oneembodiment of the invention. Upon obtaining on 401 a subscriberidentification string and personal information data, the informationstorage server checks on 402 whether a record already exists for asubscriber identification string similar to the one obtained. If so,remembering that a subscriber identification string is unique for aserver, the information storage server refuses to register thesubscriber's personal information data. According to the embodiment theinformation storage server conveys on 403 an error status indication,indicative of the failure and its reason. However, if on 402 the serverfinds out that no such subscriber identification string exists therein,on 404 it stores the obtained subscriber identification string inassociation with the obtained subscriber personal information data, andon 405 the server conveys a success status indication.

When storing the obtained subscriber identification string inassociation with the obtained subscriber personal information data,different alternatives are allowed. For example, in accordance with oneembodiment, the obtained subscriber personal information data is storedin a database, while the obtained subscriber identification string isused as a key. According to a different embodiment, the obtainedsubscriber personal information data is stored in a file, while theobtained subscriber identification string serves as the file's name.Other alternatives are allowed as well, as long as the subscriberpersonal information data can be located while using the subscriberidentification string as a search key.

It should be appreciated that according to the embodiment of FIG. 4 theflowchart provides no mechanism for updating the subscriber' personalinformation data. Hence, in an alternative embodiment, illustrated byway of example in FIG. 5, personal information data updating is allowed.Similar to the flowchart of FIG. 4, here too, upon obtaining on 501 asubscriber identification string and personal information data, theinformation storage server checks on 502 whether a record already existsfor a subscriber identification string similar to the one obtained.However, unlike FIG. 4, if the subscriber identification string alreadyexists, the information storage server 103 checks on 503 for anindication whether to update the subscriber's personal information data.Such an indication can be provided, for example, as an operation codeprovided together with the subscriber identification string and personalinformation data, or in any other way applicable to the case such apreconfigured configuration of the information storage server. If thesubscriber's personal information data should be updated, on 504 thepersonal information data obtained on 501 is stored, thereby replacingthe existing personal information data with the obtained personalinformation data, and on 505 the information storage server 103 conveysan indication that the subscriber's personal information data wassuccessfully updated. Alternatively, if on 503 the information storageserver 103 determines that the subscriber's personal information datashould not be updated, on 506 an error status indication is conveyed.

Returning to 502, if the information storage server 103 finds that nosuch subscriber identification string exists therein, on 507 it storesthe obtained subscriber identification string in association with theobtained subscriber personal information data, and on 408 the serverconveys an indication that the subscriber was successfully registered.

With this object, personal information data are stored in “personalinformation data items”. A personal information data item can includefields for storing the information. Upon registration, or when updatinga subscriber's personal information data, data relating to one or moreof the available fields can be provided.

In addition, according to one embodiment, each personal information dataitem can have one of the fields included therein as an active field. Forexample, Almoni's personal information data includes his home telephonenumber, his mobile telephone number and his business telephone number.When Almoni is at home he can set his home telephone number to be theactive field. When Almoni leaves home on his way to the office, he setshis mobile telephone number to be the active field and then, whenreaching the office, he sets the business telephone number as the activefield. According to this example, a subscriber can use a mobiletelephone or any other front end management module in order to set theactive field. Alternatively, Almoni can also set a timer forautomatically changing the active fields in his respective personalinformation data item. For example, at 8:00 am Almoni's mobile telephonenumber automatically turns into the active field, then at 9:30 am it isAlmoni's business telephone number that automatically turns into theactive field, at 7:00 pm the active field automatically becomes Almoni'smobile telephone number, and at 8:30 pm it is his home telephone numberthat comes into effect.

A subscriber can use a front end management module also in order toupdate personal information data or part thereof, that is, in order toupdate data stored in one or more fields in his personal informationdata item. The subscriber can be presented with a form, including fieldssupported by the information storage server 103, whereupon he isrequested to fill in mandatory fields (such as the subscriberidentifier) and non-mandatory fields. When the subscriber completesfilling in his personal information data or part thereof, he approvesconveying the data filled in the form to the information storage server103. Alternatively, there may be certain embodiments allowingsubscribers to provide textual commands, for example, by using thecommand line of a computer front end management module, by sending ashort message (SMS) from a mobile telephone, or by conveying such atextual command from an application operating on the front endmanagement module to the information storage server 103. The textualcommand should include at least indications to those fields whosecontent should be updated and respective personal information data. Inaddition, it should be appreciated that textual commands can be used forregistering new subscribers, as well as for updating personalinformation data of already registered subscribers.

FIG. 6 includes graphic illustrations of registration and updatingscreens, according to several embodiments of the invention. Asubscriber, who registers with a subscriber identifier “ALMONI” fills inhis home and mobile numbers, which are 111111 and 222222 respectively.According to this example, only the subscriber identification field ismandatory, and indeed, ALMONI does not provide information for thebusiness number field nor for the Custom field. 601 is an illustrationof the registration field as it appears just before the subscriberconveys the information to the information storage server 103.

When ALMONI leaves home for a trip, he updates his hotel number as acustom number, as illustrated in 602. The hotel number is 333333. It isnoted that the subscriber does not update his home and mobile numbersupon updating his hotel number, leaving them 111111 and 222222respectively. According to this embodiment custom information shouldinclude an indication as to the nature of the information, thusincluding the word “Hotel”. However, this is non-mandatory and otherembodiments can include only personal information data, such as “333333”(without the word “Hotel”) in this example.

Then, upon returning home, Almoni wishes to delete the hotel number fromhis personal information data. 603 illustrates the registration andupdating screen as it appears before conveying of the data to the serverand instructing the server to delete the custom information. Accordingto the present embodiment the subscriber indicates that he wishes todelete content stored in the custom filed by providing a deletionindication. In this non-limiting example the deletion indication is<del>.

From the example provided in 601, 602 and 603, it appears that the samesubscriber (Almoni in this case) can update his personal informationdata whenever he wishes, Appreciating that in mobile telephones, forexample, a subscriber normally uses the same telephone device over andover again, it is possible to store frequently used information on thetelephone's memory. In this example it is possible to store thesubscriber's identifier “Almoni”, or even the complete personalinformation data as this was recently updated or registered. Hence, theform can be filled in automatically, thus including the most recent,updated information.

In an alternative embodiment, instead of providing a deletion flag, thesubscriber can delete information by conveying “empty information” in acertain field to the information storage server. Hence, emptyinformation in this embodiment is considered as a deletion indication,Otherwise, if the subscriber wishes to modify information stored in oneor more fields, he simply types the updated information therein,replacing the old information. 604 illustrates an update screen whereinfurther to registration (see 601, for example), the subscriber leaveshis home number unchanged, he adds a business number (555555) and acustom number (Hotel 333333) and he changes his mobile number to 444444(instead of 222222). Then, in 605 the subscriber deletes the customnumber according to the latter embodiment, by conveying emptyinformation for the custom field.

Further to storing personal information data in an information storageserver 103, whether storing newly registered information or updatedinformation, the personal information data can be used for offering anautomatic online dialing directory. Instead of dialing a telephonenumber, as is presently done while placing a call from a telephone,according to several embodiments of the invention the caller will type asubscriber identifier. In response, the telephone will convey thesubscriber identifier to an information storage server for resolving adestination number, consequently calling the destination number, thusallowing a conversation between the caller and the destination. Forexample, a caller wants to call his friend “Almoni Johns”, who works fora corporate named “Someplace”. Someplace owns an information storageserver named “SomeServer”, i.e., SomeServer is Almoni's hostinginformation storage server. Almoni Johns' subscriber identifier isAlmoni, and hence the caller prints “almoni<someserver>” on histelephone. Consequently the caller's telephone conveys the subscriberidentifier “almoni” to the information storage server “Somewhere”, whereit is being resolved to the telephone number 7777777. Thus, the number7777777 is dialed, allowing the caller to talk to Almoni Johns.

According to one embodiment of the invention the caller telephone or anyother communication device 102 used by the caller, should be equippedwith a “resolving module”, which can be, e.g., a computer program.According to one embodiment, illustrated in FIG. 7, upon obtaining asubscriber identifier on 701, the resolving module conveys it, on 702,to the respective hosting information storage server. The subscriberidentifier, when conveyed to the hosting information storage server,constitutes, or is part of a resolution request.

According to one embodiment, in order to convey the resolution requestto the hosting information storage server, the resolving module iscoupled to a default information storage server, constituting a “homeinformation storage server”. The resolving module conveys the resolutionrequest to its respective home information storage server, which furtherrelays it to the hosting information storage server. Relaying can bedirect or indirect, while direct relaying means that the homeinformation storage server conveys the resolution request directly tothe hosting information storage server, while indirect relaying meansthat the home information storage server conveys the resolution requestto a middle entity accessible thereto and the middle entity forwards theresolution request further, so in the end it will reach the hostinginformation storage server. A middle entity can be an informationstorage server, but it can also be any other entity adapted forforwarding data from one information storage server to another.Hereinafter, unless specifically noted, wherever it is described thatthe resolving module conveys or obtains data (including personalinformation data, resolution requests, telephone numbers and/or anyother data) to or from an information storage server, it should berealized that the resolving module can directly or indirectly convey orobtain the data.

In addition, there may exist more than one way to convey the subscriberidentifier to the respective hosting information storage server. One wayis by using Short Message Service (SMS), wherein the query request iscarried by an SMS message sent to the home information storage server.Further to understanding that the subscriber identifier can be carriedby an SMS message, it can be appreciated that it can also be carried byusing Multimedia Messaging Service (known as MMS). Other alternativesare connecting to the home information storage server via the Internetand transmitting the query message thereto; conveying the subscriberidentifier via USSD (“Unstructured Supplementary Services Data” of GSM),conveying the subscriber identifier via CAMEL (The EuropeanTelecommunications Standards Institute's “Customized Applications forMobile network Enhanced Logic”), via HTTP (HyperText Transfer Protocol),etc.

Returning to the flowchart of FIG. 7, further to conveying theresolution request to the home information storage server, on 703 thecaller's telephone initiates a telephone connection with thedestination. It is noted though that the invention is not limited totelephones and other communication devices can be used instead, asmentioned earlier, e.g. with reference to FIG. 1. There may exist a callmanaging module in charge of initiating the telephone connection. Theresolving module 801 and the call managing module 802 are illustrated inFIG. 8, which is a block diagram illustrating the main modules includedin a communication device 102, according to one embodiment of theinvention. The communication device 102 of FIG. 8 includes also atransmitting module 803 for conveying resolution requests to theinformation storage server.

Turning now to the call managing module 802, it should be realized thata connection initialization can be either passive or active. FIG. 9 is aflowchart illustrating active connection initialization, according toone embodiment of the invention. On 901 the call managing module 802obtains a telephone number, referred also as a destination number, inresponse to a query message, and on 902 it automatically dials thereceived number in order to initialize the connection. Yet, this isnon-limiting and instead of automatically dialing the number the callmanaging module 802 can display it on the communication device screen,for example, thus allowing the operator to manually initialize the call.

FIG. 10 is a flowchart illustrating passive connection initialization,according to one embodiment of the invention. Passive callinitialization means that the call is actively initiated by anotherparty, e.g., the home information storage server or any other callingentity adapted for the task. The calling entity calls the destinationnumber and the caller, and connects the two calls. According to thisembodiment on 1001 the call managing module 802 obtains a connectionrequest, such as Signaling System #7 (SS7) connection request, SessionInitiation Protocol (SIP) connection request or any other connectionrequest depending on the type of communication device in use. Responsiveto the connection request, on 1002 the call managing module 802 promptsthe user of the connection request, e.g., by ringing, flashing on thescreen etc., thus allowing the operator to answer the call.

FIG. 11 is a flowchart illustrating operations taken by a callingentity, according to one embodiment of the invention. Responsive to aquery request, on 1101 the calling entity obtains a telephone number. Itshould be understood that the telephone number is a destination (or“second party”) telephone number. In addition, the invention is notlimited to numbers. For example, instead of a number, the calling entitycan obtain an address of an Internet telephone, a messenger allowingvocal conversations etc. Therefore, instead of the word “number” in theterms “telephone number”, “destination number”, “destination telephonenumber”, “second party number” etc., the word “address” can be used(e.g., “destination address”, “second party address”, etc.) On 1102 thecalling entity sends a connection request to the caller and waits untilthe caller answers the call (see 1103 and 1104). The call between thecalling entity and the caller constitutes a “first call” while it shouldbe appreciated that if the caller's line is busy according to certainembodiments, the calling entity retries to connect to the first call.Yet, other alternatives are also allowed, such as terminatingimmediately further to detecting that the line is busy. In addition, ifthe caller line is ringing, or if the calling entity receives a callwaiting signal etc., the calling entity can wait a certain time periodfor the caller to answer the call, or it can abort the call.

When the caller answers the first call (in 1103), on 1105 the callingentity sends a connection request to the destination in order to start aconnection thereto, constituting a “second call”. Although notillustrated in the flowchart, here too the calling entity can retryconnecting to a busy line and/or wait on a ringing/call waiting signalsetc., until the destination answers the call, and then, on 1106, thecalling entity according to the invention connects the first and secondcalls, allowing a connection between the two parties. However, accordingto a different embodiment, immediately after connecting to the caller on1103 the calling entity can request a connection to the destination(1105) and on 1106 bridge the two calls. In this case, if thedestination line is busy, for example, the caller will hear the busytone.

It will be understood that the calling entity can connect two calls,each thereof using a different protocol and technology. For example, thefirst call can be a regular telephony call (e.g., using SS7) while thesecond call can be an Internet telephony call (e.g., using SIP). Thecalling entity in this case forms a gateway, allowing connection betweenthe two parties using different protocols.

FIG. 12 is a block diagram illustrating a calling entity 1201, accordingto one embodiment of the invention. According to the illustratedembodiment the calling entity includes an SS7 connecting module 1202,that allows initiating calls to regular telephones and hence it isconnected to regular telephony networks via trunks. In order to allowcalls to Voice Over IP (VoIP) devices, the illustrated calling entity isconnected also via IP connections and it includes a SIP connectingmodule 1203. Yet this is non-limiting and the calling entity can connectto any required communication device as long as it includes a properconnecting module. The presently illustrated calling entity allows, forexample, connections also to a proprietary protocol via the proprietaryprotocol connecting module 1204.

In addition to the connecting modules 1202, 1203 and others, the callingentity 1201 includes also a call bridging module 1205, for connectingbetween calls (see, for example, 1106 in FIG. 11).

It is noted that the embodiments described above provide a descriptionof a connection between two parties. However, this is not limiting andfurther to reading the description a person versed in the art wouldappreciate that the invention can be used also for multiple parties'communication, such as conference calls,

Furthermore, upon receiving a call it is presently common to display thecalling number (calling ID information) on the receiver's screen.According to another embodiment of the invention, upon receiving a callwith calling ID information, the receiver's telephone can directly orindirectly convey a reversed resolution request to a hosting informationstorage server (103), wherein the reversed resolution request includesdata indicative of the calling ID information. It is appreciated that inthis case the reversed resolution request is indicative of the callingID, which is normally a telephone number, while the response to thereversed resolution request can include any information stored in thepersonal information data item respective of the calling party, if suchinformation exists. Therefore, upon obtaining a response to the reversedresolution request including information respective of the callingparty, it is possible to display the information on the receiver'sscreen. For example, it is possible to display the calling party's nameinstead of his number. In addition, or instead, it is possible todisplay his address, his title (Mr., Ms., Dr., etc.) or any otherinformation obtained in response to the reversed resolution request.

Attention is drawn now to resolving, e.g., in 702 of FIG. 7, withreference therewith it was explained that the subscriber identifier canbe conveyed, e.g., via SMS, MMS, USSD, HTTP or CAMEL, all are protocolsknown to those versed in the art. FIG. 13 provides an example of an HTTPrequest used for resolving a subscriber identifier, according to oneembodiment of the invention, wherein “ENCODED DATA” represents thesubscriber identifier to be resolved. It should be appreciated that thesubscriber identifier represented by the request can be encoded, ifrequired, yet this is not mandatory. In addition, it should also beappreciated that in the resolution request illustrated in FIG. 13 thereis only one query for resolution of a single subscriber identifier. Yet,this is nonlimiting too and it is possible to include two or moredifferent subscriber identifiers in a single resolution request.

FIG. 14, on the other hand, provides an example of an HTTP response usedwhile obtaining a resolution response, according to one embodiment ofthe invention. In the illustrated message the xx (in the Content Lengthfield) stands for the length of the response body in bytes, ENCODED_NAMEstands for the subscriber identifier, ENCODED_DOMAIN is the serveridentifier, and the NUMBER, EMAIL and ADDRESS fields are used to carrythe destination address as required. It is noted that in the example ofFIG. 14 eXtended Markup Language (XML) is used in the message body. Asmentioned with reference to FIG. 13, here too the data can be encoded(e.g., the subscriber and/or server identifiers), if required, yet thisis not mandatory.

Even further, it should be appreciated that the resolution response canbe combined from more than one message that can be of the same or ofdifferent protocols. For example, if the resolution request includedmore than one subscriber identifier, it is possible to convey thesubscribers' addresses in one message (e.g., one HTTP message carryingall the subscribers' addresses) or in more than one message (e.g., morethan one HTTP messages, each carrying the address of one subscriber).Yet, this is non-limiting and in case more than one message is conveyedas a resolution response, this more than one message can be also ofdifferent types. For example, the resolution request can convey anaddress of the subscriber as well as a photo of the subscriber (or ofanother subscriber). In such case it may be preferable to convey theaddress in one message type (e.g., HTTP or SMS) and the photo in anothermessage type (e.g., MMS or USSD). Therefore, it should be appreciatedthat the resolution response can generally be carried by at least one ofa short message (SMS), a multimedia message (MMS), an UnstructuredSupplementary Services Data (USSD) response, an HyperText TransferProtocol (HTTP) and other protocols.

In addition, further to the embodiments described above it will also beunderstood that the system according to the invention may be a suitablyprogrammed computer. Likewise, the invention contemplates a computerprogram being readable by a computer for executing the method of theinvention. The invention further contemplates a machine-readable memorytangibly embodying a program of instructions executable by the machinefor executing the method of the invention.

1. A method for adding a alpha-numeric dialing functionality includingalphabetic dialing to a first plurality of communication devices whichcan be dialed only numerically to a second plurality of telephonenumbers, the first plurality of communication devices beinginterconnected via a communication network which supports dialing fromthe first plurality of communication devices to a second plurality oftelephone numbers, the method comprising: installing software in atleast one SIM card configured to reside respectively in at least one ofthe first plurality of communication devices; and storing in a resolverserver communicating with the communication network, a second pluralityof call-names respectively corresponding to said second plurality oftelephone numbers, wherein said resolver server is operative forreceiving an individual one of said second plurality of call-namesdialed by an individual one of said first plurality of communicationdevices, and for sending an individual one of said second plurality oftelephone numbers corresponding to said individual one of said secondplurality of call-names to said software installed on said individualone of said first plurality of communication devices, and wherein thesoftware is operative for receiving, from said resolver server, saidindividual one of said second plurality of telephone numbers, andestablishing a telephone connection from said individual one of saidfirst plurality of communication devices to said individual one of saidsecond plurality of telephone numbers.
 2. A method according to claim 1and also comprising sending the call-name to said resolver server via aUSSD (Unstructured Supplementary Services Data) request.
 3. A methodaccording to claim 1 and also comprising sending the call-name to saidresolver server via SMS.
 4. A method according to claim 1 and alsocomprising using said resolver server to send an individual one of saidsecond plurality of telephone numbers corresponding to said individualone of said second plurality of call-names from said resolver server tosaid software installed on said individual one of said first pluralityof communication devices.
 5. A method according to claim 1 and alsocomprising using said software to receive, from said resolver server,said individual one of said second plurality of telephone numbers, andto establish a telephone connection from said individual one of saidfirst plurality of communication devices to said individual one of saidsecond plurality of telephone numbers.
 6. A method according to claim 4wherein said resolver server sends the individual one of said secondplurality of telephone numbers corresponding to said individual one ofsaid second plurality of call-names to said software in at least one of:a short message (SMS), a multimedia message (MMS), an UnstructuredSupplementary Services Data (USSD) response and a HyperText TransferProtocol (HTTP) response.
 7. A method according to claim 1 and whereinsaid software is installed in at least one individual device from amongthe first plurality of communication devices, externally to a SIM cardconfigured to reside in said individual device.
 8. A method according toclaim 1 and wherein at least one device from among said first pluralityof communication devices, when dialed, sends only digits to itssupporting communication network and does not support any alphabeticaldialing beyond conventional address-book based dialing, in which analphabetical string previously stored in the communication device'saddress book in association with a telephone number, is dialed by acallee.
 9. A method according to claim 1 and also comprising sending thecall-name to said resolver server via IP (Internet protocol).
 10. Amethod according to claim 1 and also comprising using said telephoneconnection for placing a telephone call.
 11. A method according to claim1 and also comprising sending the call-name to said resolver server viaa multimedia message (MMS).
 12. A method according to claim 1 and alsocomprising sending the call-name to said resolver server via a HyperTextTransfer Protocol (HTTP) request.
 13. A method according to claim 1 andwherein said software is installed remotely in at least one SIM cards.14. A system adding a alpha-numeric dialing functionality includingalphabetic dialing to a first plurality of caller communication deviceswhich can be dialed only numerically to a second plurality of telephonenumbers, the first plurality of caller communication devices beinginterconnected via a communication network which supports dialing fromthe first plurality of caller communication devices to a secondplurality of telephone numbers, the system comprising: apparatus forinstalling software in at least one SIM cards configured to residerespectively in at least one of the first plurality of communicationdevices; and a resolver server communicating with the communicationnetwork, storing a second plurality of call-names respectivelycorresponding to said second plurality of telephone numbers, and beingoperative for receiving an individual one of said second plurality ofcall-names dialed by an individual one of said first plurality ofcommunication devices and for sending an individual one of said secondplurality of telephone numbers corresponding to said individual one ofsaid second plurality of call-names to said software installed on saidindividual one of said first plurality of communication devices, andwherein the software is operative for receiving, from said resolverserver, said individual one of said second plurality of telephonenumbers, and for establishing a telephone connection from saidindividual one of said first plurality of communication devices to saidindividual one of said second plurality of telephone numbers.
 15. Acomputer program product, comprising a computer usable medium having acomputer readable program code embodied therein, said computer readableprogram code adapted to be executed to implement a method for adding aalpha-numeric dialing functionality including alphabetic dialing to afirst plurality of caller communication devices which can be dialed onlynumerically to a second plurality of telephone numbers, the firstplurality of caller communication devices being interconnected via acommunication network which supports dialing from the first plurality ofcaller communication devices to a second plurality of telephone numbers,the method comprising: installing software in at least one SIM cardsconfigured to reside respectively in at least one of the first pluralityof communication devices; and storing in a resolver server communicatingwith the communication network, a second plurality of call-namesrespectively corresponding to said second plurality of telephonenumbers, wherein said resolver server is operative for receiving anindividual one of said second plurality of call-names dialed by anindividual one of said first plurality of communication devices, and forsending an individual one of said second plurality of telephone numberscorresponding to said individual one of said second plurality ofcall-names to said software installed on said individual one of saidfirst plurality of communication devices, and wherein the software isoperative for receiving, from said resolver server, said individual oneof said second plurality of telephone numbers, and establishing atelephone connection from said individual one of said first plurality ofcommunication devices to said individual one of said second plurality oftelephone numbers.
 16. A method according to claim 1 and also comprisingusing said telephone connection for transmitting a short message (SMS).17. A method according to claim 1 and also comprising using saidtelephone connection for transmitting a multimedia message (MMS).
 18. Amethod according to claim 1 and also comprising using said telephoneconnection for transmitting an email message.
 19. A method according toclaim 1 and also comprising using said telephone connection fortransmitting a facsimile transmission.
 20. A method according to claim 1wherein at least some of said first plurality of communication devicescomprises telephones.
 21. A method according to claim 20 wherein atleast some of said telephones comprise cellular telephones.
 22. A methodaccording to claim 20 wherein at least some of said telephones comprisemobile telephones.